#include <bits/stdc++.h>
using namespace std;

long long n;
vector<int> ans;
vector<bool> tag(10,0);

void dfs(int x)
{
	if(ans.size()==n)
	{
		for(auto&e :ans)
			cout<<e<<' ';
		cout<<endl;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(tag[i]==false)
		{
			tag[i]=true;
			ans.push_back(i);
			dfs(x+1);
			tag[i]=false;
			ans.pop_back();
		}
	}
}

int main()
{
	cin>>n;
	dfs(1);
	return 0;
}
